package com.testing.class6;

public class StringFormat {
    public static void main(String[] roy) {

        //将其他类型转换为String
        int a=123;
        String s1=a+"";
        String s2=String.valueOf(a);
        //int是个基本数据类型，没有方法。
//        a.toString();
        //只有类类型才有toString的方法。
        Integer ia=a;
        ia.toString();

        //将String 转换为其他类型。
        String s="123";
        System.out.println(s + 1);

        //调用对应的包装类型的parse方法来进行字符串的转换
        int i = Integer.parseInt(s);
        Integer is=Integer.parseInt(s);
        System.out.println(i+1);
        System.out.println(is+1);
        //valueof其实本质也是调用了parseInt的。
        Integer integer = Integer.valueOf(s);
        System.out.println(is+1);

        String sf="1.533";
        int ifi= 0;
        try {
            ifi = Integer.parseInt(sf);
        } catch (Exception e) {
            //输出异常堆栈信息
            e.printStackTrace();
            //自定义的catch中的执行操作。
            System.out.println("字符串类型不对，不是个整数");
        }
        System.out.println(ifi);
        float af=Float.parseFloat(sf);
        //基本数据类型低精度可以自动转换为高精度,最终数字的准确性没法保证。
        double df=Float.parseFloat(sf);
        //但是包装的类类型不行,强制转换也不行，因为Float和Double是两个不同的类
//        Double df=(Double)(Float.parseFloat(sf));
        double dff=Double.parseDouble(sf);
        System.out.println(dff);
        System.out.println(df);

    }
}
